package com.whj.servicemap.controller;

import com.whj.internalcommon.dto.ResponseResult;
import com.whj.internalcommon.request.TraceTimeRequest;
import com.whj.internalcommon.response.TerminalResponse;
import com.whj.internalcommon.response.TrsearchResponse;
import com.whj.servicemap.service.TerminalService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import org.springframework.web.bind.annotation.*;

import java.util.List;

/**
 * @Auther: wanghaijun
 * @Date: 2023/1/16 - 01 - 16 - 17:27 
 * @Description: com.whj.servicemap.controller
 */

@RestController
@RequestMapping("/terminal")
public class TerminalController {

    @Autowired
    private TerminalService terminalService;

    /**
     * 根据名字来创建终端
     *
     * @param name 车辆的名称
     * @param desc 车辆的id
     * @return
     */
    @PostMapping("/add")
    public ResponseResult<TerminalResponse> add(String name, String desc) {
        return terminalService.add(name, desc);
    }

    /**
     * 根据圆心半径搜索设备，并返回实时位置。
     *
     * @param center 中心点
     * @param radius 半径
     * @return
     */
    @PostMapping("/aroundsearch")
    public ResponseResult<List<TerminalResponse>> aroundSearch(String center, Integer radius) {
        return terminalService.aroundSearch(center, radius);
    }

    /**
     * 根据传来的 tid 和 起始时间和中止时间 计算路程和时间
     *
     * @param traceTimeRequest
     * @return
     */
    @PostMapping("/trsearch")
    public ResponseResult<TrsearchResponse> trsearch(@RequestBody TraceTimeRequest traceTimeRequest) {
        return terminalService.trsearch(traceTimeRequest);
    }
}
